简述

之前讲了一些关于MongoDB的知识,出人意料的受欢迎,也让我很吃惊,所以今天打算分享一些我在自己计算机的虚拟机的centos系统下安装MongoDB的经历,希望感兴趣的你们在安装MongoDB的时候出现问题可以来看看我是怎么安装的,我们之间又有什么不同,到底是什么问题倒置MongoDB安装不顺利呢?

  • 欢迎大家积极交流自己的经历,MongoDB的安装和配置经常会遇到问题,我们不能闭门造车,说出来大家一起讨论,一起解决,同时也欢迎大牛来指正我的错误。

安装全过程

环境基本情况

  • 我是在电脑VM10下安装的centos6.5系统(32位,这个也是导致我安装MongoDB3.0的时候出现异常提示,原因可能是MongoDB3.0的版本是64位的,我应该再找一个32位的MongoDB3.0,但事实上我找不到)。

  • 操作系统:CentOS 6.5 32位

  • 工作环境:典型LAMP(linux+apache+MongoDB+PHP)

  • MongoDB版本:2.0.0

配置防火墙

  • 注:配置防火墙使mongodb能顺利安装

  • 首先关闭SELINUX、配置防火墙:

命令: vi /etc/selinux/config
  • 修改selinux配置内容:

#SELINUX=enforcing        #注释掉
#SELINUXTYPE=targeted     #注释掉
SELINUX=disabled          #增加
  • 保存退出

命令::wq!
  • 使配置立即生效

命令: setenforce 0
  • 编辑防火墙配置

命令: vi /etc/sysconfig/iptables  
  • 修改防火墙配置项内容:允许27017端口通过防火墙

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
  • 保存退出

命令::wq!
  • 重启防火墙使配置生效

命令:/etc/init.d/iptables restart

下载安装mongodb

命令: wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.0.tgz
  • 解压mongodb包:

命令: tar xzvf mongodb-linux-i686-2.0.0.tgz
  • 移动mongodb包至安装目录:

命令: mv mongodb-linux-x86_64-2.0.0 /usr/local/mongodb
  • 创建data文件夹和log文件夹(日志文件):

命令:mkdir  -p  /home/data/mongodb/mongodb_data/  #创建MongoDB数据库存放路径
命令:mkdir  -p  /home/data/mongodb/mongodb_log/   #创建MongoDB数据库日志存放路径
命令:touch  /home/data/mongodb/mongodb_log/monglodb.log
  • 安装配置mongodb,并且启动mongodb:

命令: /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/home/data/mongodb/mongodb_data/ --logpath=/home/data/mongodb/mongodb_log/mongodb.log --logappend
  • 注:这里的命令的意思大概就是启动mongob,给出端口为port,给出数据库存放路径dbpath,给出日志文件路径logpath,然后执行启动。这些参数都要写对,错一不可运行MongoDB

一些简单mongodb命令

  • 查看MongoDB是否启动

命令: netstat -lanp | grep "27017" 
  • 进入MongoDB数据库控制台

命令: /usr/local/mongodb/bin/mongo
  • 关闭MongoDB数据库

命令: db.shutdownServer()
  • 退出

命令:exit

附上一些mongodb安装的参考网址:

参考网址:http://www.haodaima.net/art/2900366

参考网址:http://www.osyunwei.com/archives/7629.html

mongodb一些基本命令

->db.TestDb                          #创建数据库
->db.addUser(“root”,”rongx”)         #创建用户(用户名:root,密码:rongx)
->db.auth(“root”,”rongx”)            #设置用户为允许连接的用户
->db.createCollection(“testTable”)   #创建表
->show collections                   #查看表是否创建成功

案例:
在shell界面输入db,发现db是指向了test的

-> db
test
->

选择数据库 use [databese name]

-> use testDB
switched to db testDB

创建
假设我们有一个用户表testTable,包含了name age tel

-> user={name:'admin',age:'21',tel:'1234567'}
{ "name" : "admin", "age" : "21", "tel" : "1234567" }
-> db.testTable.insert(user)
-> db.testTable.find()
{ "_id" : ObjectId("51b28b7ab73ec06e42c91596"), "name" : "admin", "
age" : "21", "tel" : "1234567" }
->

附上一些mongodb基本命令参考网址
参考网址:http://blog.sina.com.cn/s/blog_998c4943010164w7.html

参考网址:http://www.cnblogs.com/ac1985482/archive/2013/06/08/3125740.html

最后聊一下一些mongodb配置的设置

  • 进入MongoDB安装目录

    命令: cd /usr/local/mongodb/

    命令: vi /usr/local/mongodb/mongodb.conf #编辑

  • 编辑内容如下:

    port=27017 #端口号
    dbpath=/home/data/mongodb/mongodb_data/ #数据库路径
    logpath=/home/data/mongodb/mongodb_log/mongodb.log #日志输出文件路径
    pidfilepath=/usr/local/mongodb/mongo.pid
    fork=true #设置后台运行
    logappend=true #日志输出方式
    shardsvr=true
    directoryperdb=true
    #auth=true #开启认证

    命令::wq! #保存退出
    命令:cd /usr/local/mongodb/bin/
    命令:./mongod --config /usr/local/mongodb/mongodb.conf #启动MongoDB
    命令:./mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" #关闭MongoDB
    命令:vi /etc/rc.d/init.d/mongod #设置开机启动MongoDB

  • 修改配置内容,内容如下:

    ulimit -SHn 655350
    #!/bin/sh
    # chkconfig: - 64 36
    # description:mongod
    case $1 in
    start)
    /usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/mongodb.conf
    ;;
    stop)
    /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
    ;;
    status)
    /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
    ;;
    esac

  • 保存修改,启动服务

    命令: :wq! #保存退出
    命令: chmod +x /etc/rc.d/init.d/mongod #添加脚本执行权限
    命令: chkconfig mongod on #设置开机启动
    命令: service mongod start #启动MongoDB

  • 添加环境变量,编辑

    命令:vi /etc/profile

  • 在最后一行添加下面的代码

    export PATH=$PATH:/usr/local/mongodb/bin

    命令: :wq! #保存退出
    命令: source /etc/profile #使配置立即生效
    命令: mongo #进入MongoDB控制台
    命令: show dbs #查看默认数据库
    命令: use admin #切换到admin数据库
    命令: exit #退出MongoDB控制台

  • 至此,centOS下mongodb安装完成,接下来就是配置php与mongodb搭配使用,还有mongodb的主从设置等等的工作。

  • mongodb主从设置与测试参考网址:http://www.haodaima.net/art/2900366

  • mongo启动命令: /usr/local/mongodb/bin/mongo

  • 最新mongoDB版本 3.0+

## 总结 ##

  • 文章属于实战类干货,操作流程比较多,不同情况会有不同问题的出现,但是可以说明的是,mongodb3.0以上版本的数据库最好安装到64位,这个我不清楚具体原因,但是很多时候安装到32位的时候数据库会提醒我数据库异常,暂时没搞懂。

mongodb的安装其实多安装几次,你就会明白很多关于mongodb的安装所需的一些基本环境或者说是要求,首先是端口(一般是27017,如果已被占用,最好弄一个独立的新的端口),然后是操作系统(最好64位),数据库文件和数据库日志的路径,还有还有就是锁的问题,这个我经常遇到,就是启动mongodb或关闭mongodb时出现异常会出现锁库(lock)的问题,这个很烦,网上一般建议找到提示的那个lock文件,删掉,重启mongodb,我在实际上使用却一时有用一时没用,看来是我还没搞懂。

  • mongodb安装配置好了,命令管理界面怎么说还是突显单调,所以有一种mongodb管理工具--RockMongo,这个视图管理工具很好用,对MongoDB管理帮助很大,有兴趣的同学可以去关注一下。


AlphaGooo
1.1k 声望135 粉丝

你想要什么,就去追求什么